pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
    use std::collections::HashMap;
    let mut map: HashMap<i32, i32> = HashMap::new();

    for i in 0..nums.len() {
        let num = nums[i];
        let diff = target - num;
        match map.get(&diff) {
            Some(start) => {
                return vec![*start, i as i32];
            }
            None => map.insert(num, i as i32),
        };
    }

    return vec![];
}